package com.ctshk.rpc.user.service;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.TokenUser;
import com.ctshk.rpc.user.req.SmsCaptchaReq;

/**
 * <p>
 *  校验服务
 * </p>
 *
 * @author 李新科
 * @date 2021/4/22 15:24
 */
public interface IUserValidateService {

    /**
     * 获取验证码
     * @param contactMobileAreaCode
     * @param contactNumber
     * @param type 验证码类型 1.登录验证码,2.注册验证码,3.修改手机验证码，4.忘记密码验证码,5.修改密码验证码
     */
    Result sendSmsCaptcha(String contactMobileAreaCode, String contactNumber,Integer type, Long userId) throws Exception;

    Result sendSmsCaptcha(String contactMobileAreaCode, String contactNumber,Integer type) throws Exception;

    /**
     * 校验验证码
     * @param phone 区号 + 手机号
     * @param code
     */
    void check(String phone,String code,Integer type, Long userId) throws Exception;

    void check(String phone,String code,Integer type) throws Exception;

    /**
     *  通用发送验证码
     * @param contactMobileAreaCode 区号
     * @param contactNumber 手机号
     * @return
     */
    Result sendCode(String contactMobileAreaCode, String contactNumber) throws Exception;

    /**
     *  通用校验短信验证码
     * @param contactMobileAreaCode 区号
     * @param contactNumber 手机号
     * @return
     */
    boolean checkCode(String contactMobileAreaCode, String contactNumber,String code) throws Exception;
}
